SmitearWebGL.Resources.InternalSamplers = {}

SmitearWebGL.Resources.InternalSamplers._internalSamplers = [];

SmitearWebGL.Resources.InternalSamplers.createInternalSamplers = function( resourceManager )
{
	var internalSamplers = SmitearWebGL.Resources.InternalSamplers._internalSamplers;
	internalSamplers.push( resourceManager.createResource( SmitearWebGL.Resources.InternalSamplers.Type.sampler0, SmitearWebGL.Resources.Sampler ) );
	internalSamplers.push( resourceManager.createResource( SmitearWebGL.Resources.InternalSamplers.Type.sampler1, SmitearWebGL.Resources.Sampler ) );
	internalSamplers.push( resourceManager.createResource( SmitearWebGL.Resources.InternalSamplers.Type.sampler2, SmitearWebGL.Resources.Sampler ) );
	internalSamplers.push( resourceManager.createResource( SmitearWebGL.Resources.InternalSamplers.Type.sampler3, SmitearWebGL.Resources.Sampler ) );
	
	internalSamplers[0].setMagFilter( SmitearWebGL.Resources.Sampler.POINT );
	internalSamplers[0].setMinFilter( SmitearWebGL.Resources.Sampler.POINT );
	internalSamplers[0].setAddressModeU( SmitearWebGL.Resources.Sampler.CLAMP );
	internalSamplers[0].setAddressModeV( SmitearWebGL.Resources.Sampler.CLAMP );
	
	
	internalSamplers[1].setMagFilter( SmitearWebGL.Resources.Sampler.LINEAR );
	internalSamplers[1].setMinFilter( SmitearWebGL.Resources.Sampler.LINEAR );
	internalSamplers[1].setAddressModeU( SmitearWebGL.Resources.Sampler.CLAMP );
	internalSamplers[1].setAddressModeV( SmitearWebGL.Resources.Sampler.CLAMP );
	
	internalSamplers[2].setMagFilter( SmitearWebGL.Resources.Sampler.LINEAR );
	internalSamplers[2].setMinFilter( SmitearWebGL.Resources.Sampler.POINT );
	internalSamplers[2].setAddressModeU( SmitearWebGL.Resources.Sampler.CLAMP );
	internalSamplers[2].setAddressModeV( SmitearWebGL.Resources.Sampler.CLAMP );
	
	internalSamplers[3].setMagFilter( SmitearWebGL.Resources.Sampler.LINEAR );
	internalSamplers[3].setMinFilter( SmitearWebGL.Resources.Sampler.MIPMAP_LINEAR );
	internalSamplers[3].setAddressModeU( SmitearWebGL.Resources.Sampler.CLAMP );
	internalSamplers[3].setAddressModeV( SmitearWebGL.Resources.Sampler.CLAMP );
}

SmitearWebGL.Resources.InternalSamplers.releaseInternalSamplers = function()
{
	for ( var i = 0; i < SmitearWebGL.Resources.InternalSamplers._internalSamplers.length; ++ i )
	{
		SmitearWebGL.Resources.InternalSamplers._internalSamplers[i].release();
	}
}

SmitearWebGL.Resources.InternalSamplers.Type =
{
	sampler0 :	"__system_default_sampler0__",
	sampler1 :	"__system_default_sampler1__",
	sampler2 :	"__system_default_sampler2__",
	sampler3 : 	"__system_default_sampler3__"
}